package com.financing.wap.dao;

import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import com.financing.wap.dto.ActivitieGiftDTO;
import com.financing.wap.dto.ActivitiesWeChatGiftDTO;
import com.financing.wap.vo.ActivitieGiftVo;

public interface IActivitieGiftDao extends IBaseDao<ActivitieGiftDTO, Integer> {
	
	/**
	 * 
	 * @Title: queryActivitieGiftList
	 * @Description: 查询活动 
	 * @param @param activitieGiftDTO
	 * @param @return   
	 * @return List<ActivitieGiftDTO>   
	 * @throws
	 */
	public List<ActivitieGiftVo> queryActivitieGiftList(Map<String,Object> map);
	
	/**
	 * 
	 * @Title: updateActivitieGift
	 * @Description: 更新活动礼品 
	 * @param @param activitieGiftDTO
	 * @param @return
	 * @param @throws SQLException   
	 * @return int   
	 * @throws
	 */
	public int updateActivitieGift(ActivitieGiftDTO activitieGiftDTO) throws SQLException;
	
	/**
	 * 
	 * @Title: insertActivitieGift
	 * @Description: 添加活动礼品 
	 * @param @param activitieGiftDTO
	 * @param @return
	 * @param @throws SQLException   
	 * @return int   
	 * @throws
	 */
	public int insertActivitieGift(ActivitieGiftDTO activitieGiftDTO) throws SQLException;
	
	/**
	 * 
	 * @Title: countActivitiesGift
	 * @Description: 查询自己红包总数 
	 * @param @param faId
	 * @param @return   
	 * @return Integer   
	 * @throws
	 */
	public Integer countActivitiesGift(String faId);

	/**
	 * 
	 * @Title: queryActivitieGiftList
	 * @Description: 查询活动 (定时任务)
	 * @param @param activitieGiftDTO
	 * @param @return   
	 * @return List<ActivitieGiftDTO>   
	 * @throws
	 */
	public List<ActivitieGiftDTO> queryActivitieGiftListForJob(Map<String, Object> map)
			throws Exception;
	
	/**
	 * 
	 * @Title: mollionsWealthCount
	 * @Description: 百万财富发放统计 
	 * @param @return
	 * @param @throws Exception   
	 * @return BigDecimal   
	 * @throws
	 */
	public BigDecimal mollionsWealthCount() throws Exception;
	
	/**
	 * 查询红包发放情况
	 * @param actgift
	 * @return
	 * @throws Exception
	 */
	public List<ActivitieGiftDTO> queryActivitiesHBGift(ActivitieGiftDTO actgift) throws Exception;

	/**
	 * 查询2016元宵红包发放情况
	 * @param actgift
	 * @return
	 * @throws Exception
	 */
	public List<Map<String, Object>> queryYLYXHDGifts(ActivitieGiftDTO actgift)throws Exception;
	
	/**
	 * 
	 * @Title: addActivitiesWeChatGift
	 * @Description: 添加微信红包 
	 * @param @param activitiesWeChatGiftDTO
	 * @param @return
	 * @param @throws Exception   
	 * @return int   
	 * @throws
	 */
	public int addActivitiesWeChatGift(ActivitiesWeChatGiftDTO activitiesWeChatGiftDTO) throws Exception;
	
	/**
	 * 
	 * @Title: updateActivitiesWeChatGift
	 * @Description: 修改微信红包 
	 * @param @param activitiesWeChatGiftDTO
	 * @param @return
	 * @param @throws Exception   
	 * @return int   
	 * @throws
	 */
	public int updateActivitiesWeChatGift(ActivitiesWeChatGiftDTO activitiesWeChatGiftDTO) throws Exception;
}
